﻿namespace Etong.Web
{
    /// <summary>
    /// 控制字段在GridView中显示时的类型
    /// </summary>
    public enum ListShowType
    {
        /// <summary>
        /// 普通文字
        /// </summary>
        Text,//
        /// <summary>
        /// 转码后的文字
        /// </summary>
        TextEncode,
        /// <summary>
        /// 固定连接
        /// </summary>                
        Link,//
        /// <summary>
        /// 绑定连接
        /// </summary>
        BoundLink,//
        /// <summary>
        /// 布尔连接
        /// </summary>
        BoolLink,//
        /// <summary>
        /// 确认连接
        /// </summary>
        ConfirmLink,//
        /// <summary>
        /// 图片
        /// </summary>
        Image,//
        /// <summary>
        /// 外键
        /// </summary>
        Foreign,//
        /// <summary>
        /// 模板
        /// </summary>
        Template//
    }

    /// <summary>
    /// 控制编辑/添加时的显示格式
    /// </summary>
    public enum EditShowType
    {
        /// <summary>
        /// 文本框
        /// </summary>
        Text,//
        /// <summary>
        /// 日期选择
        /// </summary>
        DateTime,//
        /// <summary>
        /// 多行文本框
        /// </summary>
        MultiText,//
        /// <summary>
        /// 密码框
        /// </summary>
        PassWord,//
        /// <summary>
        /// 使用CuteEditor编辑器
        /// </summary>
        Editor,//
        /// <summary>
        /// DotNetTextBox编辑器
        /// </summary>
        DotNetTextBox,
        /// <summary>
        /// 图片上传
        /// </summary>
        ImageUpload,//
        /// <summary>
        /// 文件上传
        /// </summary>
        DocumentUpload,//
        /// <summary>
        /// 下拉菜单选择
        /// </summary>
        DropDownList,//
        /// <summary>
        /// 多选框
        /// </summary>
        CheckList,//
        /// <summary>
        /// 一个多选框，是否状态
        /// </summary>
        Check,//
        /// <summary>
        /// 单选列表
        /// </summary>
        RadioList,//
        /// <summary>
        /// 隐藏域，用于在添加的时候获取类型
        /// </summary>
        Hidden,//
        /// <summary>
        /// 文字显示
        /// </summary>
        Lable,//
        /// <summary>
        /// 模板，使用ascx文件做模板表现，需实现IEditShowTemplate接口
        /// </summary>
        Template//
    }

    /// <summary>
    /// 控制搜索在页面上的表现
    /// </summary>
    public enum SearchShowType
    {
        /// <summary>
        /// 文本框
        /// </summary>
        Text,//
        /// <summary>
        /// 下拉菜单
        /// </summary>
        DropDownList,//
        /// <summary>
        /// 多选
        /// </summary>
        CheckList,
        /// <summary>
        /// 数字形式的从  到  ，两个文本框
        /// </summary>
        NumBetween,//
        /// <summary>
        /// 日期选择
        /// </summary>
        DateTime,//
        /// <summary>
        /// 日期形式的从  到  ，两个文本框
        /// </summary>
        DateTimeBetween,//
        /// <summary>
        /// 模板，使用ascx做模板表现，需实现ISearchRunType接口
        /// </summary>
        Template//
    }

    /// <summary>
    /// 支持的数据库类型
    /// </summary>
    public enum DBType
    {
        Sql2000,
        Access
    }

    /// <summary>
    /// 对几种常用的数据库字段类型，在不同数据库中where字句中的使用做字符串格式化
    /// </summary>
    public enum ColumnDataType
    {
        /// <summary>
        /// 字符，在SqlServer和Access都是两边加单引号(')
        /// </summary>
        Text,
        /// <summary>
        /// 数字，不加引号
        /// </summary>
        Number,
        /// <summary>
        /// 布尔，在SqlServer中1=true,0=false，在Access中-1=true,0=false
        /// </summary>
        Bool,
        /// <summary>
        /// 日期，在SqlServer中两边加单引号(')，在Access中两边加井号(#)
        /// </summary>
        DateTime,
        /// <summary>
        /// 对象类型，此类型未使用
        /// </summary>
        Object
    }

    /// <summary>
    /// 控制各种搜索时在数据库中采用的语句情况
    /// </summary>
    public enum SearchRunType
    {
        /// <summary>
        /// 等于 =
        /// </summary>
        Equal,//
        /// <summary>
        /// 小于 ﹤
        /// </summary>
        Less,//
        /// <summary>
        /// 小于等于 ﹤=
        /// </summary>
        LessAndEqual,//
        /// <summary>
        /// 大于 >
        /// </summary>
        Lager,//
        /// <summary>
        /// 大于等于 >=
        /// </summary>
        LagerAndEqual,//
        /// <summary>
        /// 不等于 ﹤>
        /// </summary>
        NotEqual,//
        /// <summary>
        /// 模糊搜索 like '%  %'
        /// </summary>
        Like,//
        /// <summary>
        /// 在某几个中 in (a,b,c,d)
        /// </summary>
        In,//
        /// <summary>
        /// 在a，b中间 between a and b
        /// 当只填入一个的时候，使用大于或小于
        /// </summary>
        Between,//
        /// <summary>
        /// 使用datediff(d, , )函数进行比对
        /// </summary>
        DateTime,//
        /// <summary>
        /// 日期的between
        /// 当只填入一个的时候，使用大于或小于
        /// </summary>
        DateTimeBetween,//
        /// <summary>
        /// 手动设置要执行的sql语句
        /// </summary>    
        RunSql,//
        /// <summary>
        /// 模板搜索时使用的搜索语句
        /// </summary>
        TemplateRunSql//
    }

    public enum AfterType
    {
        AfterInsert,
        AfterUpdate,
        AfterDelete
    }

    public enum BeforeType
    {
        BeforeInsert,
        BeforeUpdate,
        BeforeDelete
    }
}